C++ 如何将char[]转换为string ???在线等 !!急!!急!!急!!
来源:百度知道 编辑:UC知道 时间:2024/05/31 14:59:03
我在Microsoft Visual C++ 6.0 中写了这么一段代码,想要实现从char[]到string 的转换。但是出现了错误。这是为什么??
void charctostr(char *c1,string s)
{
int i=0;
for(;c1[i]!='\0';i++)
{
s[i]=c1[i];
}
s[i+1]='\0';
}
void charctostr(char *c1,string s)
{
int i=0;
for(;c1[i]!='\0';i++)
{
s[i]=c1[i];
}
s[i+1]='\0';
}
首先c1[i]!='\0'有问题,数组不一定有\0做结尾
其次string s也有问题,这是值传递,非地址传递,无法改变调用函数里的s
#include<iostream>
#include<string>
using namespace std;
#define SIZE 6
void charctostr(char *c1, string *s);
int main()
{
char c[6]={'1', '2', '3', '4', '5', '6'};
string s="123456789";
charctostr(c, &s);
cout<<s;
}
void charctostr(char c1[], string *s)
{
int i=0;
for(;i<SIZE;i++)
{
(*s)[i]=c1[i];
}
while((*s)[i]!='\0')
{
(*s)[i]='\0';
}
}
在循环的最后一次执行后,i又被加了一次1,所以循环结束后,不是s[i+1]='\0'而应该是s[i]='\0'
最后一句话有问题把s[i+1]='\0';改为s[i]='\0';即可满足要求。
java中 如何将char类型转换成string 类型
在C++中如何将INT转换成CHAR*类型?
c语言 char类型转换
怎样将unsiged char 转换为char,怎样将 char 转换为 unsiged char。那位知道帮帮忙!!!!
c++.net中wchar_t 转换为char
如何将int型的数字转换成char型字符串?
在JAVA与SQL连接中,如何将string类型转换为char类型
VC中如何将CString类型转换成unsigned char *类型?
C++中如何把char[ ]类型转换成CTime类型?
c语言 如何将一个文件的所有内容放到char* str内?